package 其他;/*
 *@Author: helen
 *@Date:   2021/8/8 17:15
 *@Description:
 */

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.SortedMap;
import java.util.TreeMap;

public class test09 {

    public static void main(String[] args) {
        File file = new File("test.txt");
        ArrayList<String> list = new ArrayList<>();
        /**
         * 1 把每个单词读到list里面
         * 2 使用 SortedMap，即排好序的map集合类，使用for循环：
         *   2.1 判断map里面是否已经存在此单词，
         *       2.1.1 不存在 则：首次put此单词进去的，它对应单词的出现次数value设置为1
         *       2.1.2 存在 则：把该单词的出现次数value加1
         * 3 把map里面的前100个单词进行输出，即为出现频率最高的100个单词
         */
        SortedMap<String, Integer> map = new TreeMap<>();
        for (int i = 0; i < list.size(); i++) {
            if (!map.containsKey(list.get(i))){
                map.put(list.get(i),1);
            }
            else {
                Integer value = map.get(list.get(i));
                map.replace(list.get(i), value + 1);
            }
        }

        System.out.println("出现频率最高的100个单词：" );
        for (int i = 0; i < 100; i++) {
            System.out.println(map.lastKey());
            map.remove(map.lastKey());
        }

    }
}
